// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import ListClass from '@api/equipment/model/AssetListQueryReq'
import BaseClass from '@api/equipment/model/AssetDto'
import state from '@admin/views/Maintain/Print/PrintRegion/store/state'
import deviceState from '@admin/views/Maintain/Device/DeviceList/store/state'
import API from './API'

const TYPE = [
  ['base', '普通二维码'],
  ['detail', '横版'],
  ['table', '表格'],
  ['colorful', '彩色竖版'],
]

// ============================== 导出状态集 ============================== //

export default {
  // —————————————————————————————— 常量状态 —————————————————————————————— //

  /**
   * 接口
   */
  API,

  /**
   * 映射
   */
  MAP: {
    ...state.MAP,

    WORD: `${CORE.MAP.ASSET}码`, // 词语

    type: TYPE[0][0], // 类型
  },

  /**
   * 字典
   */
  DICT: {
    ...state.DICT,

    /**
     * 类型
     */
    TYPE,

    /**
     * 状态
     */
    STATUS: deviceState.DICT.STATUS,

    /**
     * 详情
     */
    DETAIL: [
      [`${CORE.MAP.ASSET}名称`, 'assetName'],
      [`${CORE.MAP.ASSET}型号`, 'assetTypeName'],
      [`所属${CORE.MAP.ORGAN}`, 'organizationName'],
    ],

    /**
     * 表格
     */
    TABLE: [
      [`${CORE.MAP.ASSET}名称`, 'assetName'],
      [`${CORE.MAP.ASSET}编号`, 'assetCode'],
      [`${CORE.MAP.ASSET}型号`, 'assetTypeName'],
      [`所属${CORE.MAP.ORGAN}`, 'organizationName'],
      ['购置日期', 'date'],
    ],

    /**
     * 彩色
     */
    COLORFUL: [
      ['名称', 'assetName'],
      ['型号', 'assetTypeName'],
      ['位置', 'organizationName'],
    ],
  },

  /**
   * 初始参数
   *
   * 1. 初始存在，才能响应
   * 2. CORE.mixStore(store) 时使用
   * 3. setParam() 重置时使用
   * 4. WebSearch 高级查询点重置时使用
   */
  INIT_PARAM: CORE.initObj(ListClass, BaseClass, {
    status: 0,
    statusOne: undefined,
  }),

  /**
   * 初始单项
   *
   * 1. 初始存在，才能响应
   * 2. setOne() 合并时使用
   * 3. openAdd() 新增时使用
   */
  INIT_ONE: CORE.initObj(BaseClass, {
    //
  }),
}
